<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <!-- 
        严格模式：
        1.消除了JavaScript语法的一些不合理、不规范之处，减少了一些怪异行为
        2.消除代码运行的一些不安全之处，保证代码运行安全
        3.提高编译效率，增加运行速度
        4.禁用了再ECMAScript的未来版本中可能会定义的一些语法，为未来的新版本做好铺垫

            规范:
                1.变量声明后赋值
                2.普通函数内部this不会指向window对象，而是undefined
                3.delete 不能删除变量，能删除数组元素(不能改变数组长度 pop shift splice)
                4.如果构造函数被作为普通函数来使用不能使用，因为构造函数内部的this变成为undefined
                5.定时器的this指向还是window
                6.事件，对象指向的还是调用者
                7.严格模式下，函数的参数不能有重名

     -->
    <script>
        // 'use strict'  //写在外面的话对当前的srcipt标签内容有效
                      //如果在是函数里面那么只对这个函数有效
        // 'use strict' 
        names='trump'
        console.log(names);
        function A()
        {
            'use strict'  //说明严格模式在函数中是有作用域的
            age=50
            console.log('A函数里面的age==>',age);
        }
        A()
                      
    </script>
    <script>
        age=20
        console.log(age);
    </script>
    
</body>
</html>